package com.xltt.watchlauncher3.adapter;

import android.content.Intent;
import android.view.ViewGroup;

import androidx.fragment.app.Fragment;

import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.PagerAdapter;

import com.xltt.watchlauncher3.fragment.BaseFragment;

import java.util.ArrayList;
import java.util.List;

public class ViewPagerAdapter extends FragmentPagerAdapter {
    private List<BaseFragment> mFragmentList;
    public ViewPagerAdapter(FragmentManager fm) {
        super(fm);
    }
    public ViewPagerAdapter(FragmentManager fm, List<BaseFragment> fragmentList) {
        super(fm);
        this.mFragmentList = fragmentList;
    }
    @Override
    public Fragment getItem(int position) {
        //在这里不处理position的原因是因为getItem方法在
        //instantiateItem方法中调用。只要在调用前处理
        //position即可，以免重复处理
        return mFragmentList.get(position);
    }

    @Override
    public int getCount() {
//        return mFragmentList.size();
        return Integer.MAX_VALUE;
    }

    @Override
    public int getItemPosition(Object object) {
        return super.getItemPosition(object);
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        //处理position。让数组下标落在[0,fragmentList.size)中，防止越界
        position = position % mFragmentList.size();

        return super.instantiateItem(container, position);
    }
}
